package com.example.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.common.utils.R;
import com.example.system.entity.AppointmentScheduler;
import org.springframework.web.bind.annotation.RequestParam;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 王鹤蒲
 * @since 2024-01-29
 */
public interface IAppointmentSchedulerService extends IService<AppointmentScheduler> {

    public R insert(AppointmentScheduler appointmentScheduler);


    public R selectAll(Integer currentPage, Integer pageSize, Integer doctorId, Integer departmentId, LocalDate workDate, String dayPart, String status);

    public R edit(AppointmentScheduler appointmentSchedulers);

    public R deleteById(Integer id);

    public R deleteByIds(Integer[] ids);

    public R getDepartmentAppointmentSchedulerInfos(Integer currentPage,Integer pageSize,Integer departmentId);

    public R selectAppointmentSchedulerDetailInfos(Integer departmentId,String workDate);

    public R getDepartmentAppointmentScheduler(Integer departmentId,String startDate,String endDate);
    public R getAppointmentTimeList(Integer appointmentSchedulerId);

    public R suspend(Integer appointmentSchedulerId, String suspendReason);

    public R selectSuspendNoticeList();
}
